package com.xjrsoft.module.oa.service.impl;

import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.xjrsoft.common.page.ConventPage;
import com.xjrsoft.common.page.PageOutput;
import com.xjrsoft.core.tool.utils.StringPool;
import com.xjrsoft.core.tool.utils.StringUtil;
import com.xjrsoft.module.oa.dto.NewsPageDto;
import com.xjrsoft.module.oa.entity.XjrOaNews;
import com.xjrsoft.module.oa.mapper.XjrOaNewsMapper;
import com.xjrsoft.module.oa.service.IXjrOaNewsService;
import com.xjrsoft.module.oa.vo.NewsVo;
import org.springframework.stereotype.Service;

/**
 * <p>
 * 新闻中心表 服务实现类
 * </p>
 *
 * @author jobob
 * @since 2020-11-10
 */
@Service
public class XjrOaNewsServiceImpl extends ServiceImpl<XjrOaNewsMapper, XjrOaNews> implements IXjrOaNewsService {

    @Override
    public PageOutput<NewsVo> getPageList(Integer typeId, NewsPageDto dto) {
        String keyword = dto.getKeyword();
        if (StringUtil.isNotBlank(keyword)) {
            keyword = StringPool.PERCENT + keyword + StringPool.PERCENT;
        }
        LambdaQueryWrapper<XjrOaNews> wrapper = Wrappers.<XjrOaNews>query().lambda().eq(XjrOaNews::getTypeId, typeId).eq(dto.getMark()!=null,XjrOaNews::getEnabledMark, dto.getMark()).like(StringUtil.isNotBlank(keyword), XjrOaNews::getFullHead, keyword);
        IPage page = this.page(ConventPage.getPage(dto), wrapper);
        return ConventPage.getPageOutput(page, NewsVo.class);
    }
}
